use std::{env,process};
use minigrep::{Config,run};

fn main() {
    //收集命令行参数
    let args: Vec<String> = env::args().collect();

    //根据参数及环境变量生成配置
    let config = Config::build(&args).unwrap_or_else(|err| {
        println!("Problem parsing arguments: {err}");
        //结束进程
        process::exit(1)
    });

    //匹配错误并处理
    if let Err(e) = run(config) {
        println!("Application error: {e}");
        process::exit(1);
    }

}
